//#include <iostream>
//using namespace std;
//class Venas
//{
//public:
//	Venas(int a = 0, int b = 0)
//	{
//		vx = a;
//		vy = b;
//	}
//	Venas operator++(int)
//	{
//		Venas tmp(*this);
//		vx = vx + 2;
//		vy = vy + 2;
//		return tmp;
//	}
//	Venas& operator=(Venas v)
//	{
//		vx = v.vx;
//		vy = v.vy;
//		return *this;
//	}
//	void show()
//	{
//		if (vy < 0)
//		{
//			cout << vx << "x-" << (-vy) << "y" << endl;
//		}
//		else
//		{
//			cout << vx << "x+" << vy << "y" << endl;
//		}
//	}
//private:
//	int vx;
//	int vy;
//};
//int main()
//{
//	int a, b;
//	cin >> a >> b;
//
//	Venas v1(a, b), v2;
//	v2 = v1++;
//
//	v1.show();
//	v2.show();
//
//	return 0;
//}

#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
	Person(string name = "Noname")
		:_name1(name)
	{
		cout << "Person()..." << endl;
	}
	void show()
	{
		cout << "Person:" << _name1 << endl;
	}
	~Person()
	{
		cout << "~Person()..." << endl;
	}
protected:
	string _name1;
};
class Spirit
{
public:
	Spirit(string name)
		:_name2(name)
	{
		cout << "Spirit()..." << endl;
	}
	void show()
	{
		cout << "Spirit:" << _name2 << endl;
	}
	~Spirit()
	{
		cout << "~Spirit()..." << endl;
	}
protected:
	string _name2;
};
class God :public Person, public Spirit
{
public:
	God(string na1, string na2, string na3)
		:Person(na1)
		, Spirit(na2)
		, _name3(na3)
	{
		cout << "God()..." << endl;
	}
	void show()
	{
		cout << Person::_name1 << "+" << Spirit::_name2 << "+" << _name3 << endl;
	}
	~God()
	{
		cout << "~God()..." << endl;
	}
protected:
	string _name3;
};
int main()
{
	string s = " ";
	cout << s.size() << endl;
	return 0;
}